# 数字类型
# num1 = 12
# num2 = 1.76
# num3 = True
# # 知道上面变量的数据类型，通过print（对象）
# print(type(num1)) #int:整数
# print(type(num2)) #浮点型float:小数
# print(type(num3)) #布尔型bool（True/flase）
# # 非数字类型（序列类型）
# a1 = "abc"
# a2 = [11,"张三",1.11]
# a3 = (11,"张三",1.11)
# a4 = {11,"张三",1.11}
# a5 = {"name": "张三","age":18}
# print(type(a1)) #str : 字符串
# print(type(a2)) #list: 列表
# print(type(a3)) #tuple :元组
# print(type(a4)) #set:集合
# print(type(a5)) #dict: 字典
# 总结：查看某个变量/值的数据类型的函数用type,如果要打印结果，需要用print函数


# 强制类型转换
#定义数据
# num4 = "100"
# num5 = "1.99"
# #强制转换
# # print(type(int(num4)))
# # print(type(float(num5)))
# info = 123456
# print(type(str(info)))
# info1 = [11, "aa", True, 1.88]
# print(type(tuple(info1)))
# info2 = [11, 22, 33, 11, 11, 11, 33, 44]
# print(set(info2))
# print(type(set(info2)))



# 需求：小明今年18岁了，他的身高是1.80米
# name = "小明"
# age = 18
# height = 1.80
# # 通过format函数输出
# print("{}今年{}岁了，他的身高是{}米".format(name, age, height))
# print("{0}今年{1}岁了，他的身高是{2}米".format(name, age, height))
# # {}在字符串中相当于占位符号，如果是多个变量，可以在{}中写数字
#
#
# # f-格式化输出
# # 需求：小明今年18岁了，他的身高是1.80米
# name = "小张"
# age = 18
# height = 1.90
#
# # 通过f格式化输出
# print(f"{name}今年{age}岁了，他的身高是{height}米")
# # 小明明年就21岁了
# print(f"{name}明年就{age+1}岁了")


# 输入小明同学的年龄
# name = "小明"
# age = int(input("请输入年龄："))
# print(f"{name}同学的年龄是{age}")
# print(f"{name}同学明年的年龄是{age+1}")


# # 输入小明同学的年龄
# name = "小明"
# age = int(input("请输入年龄："))  # 输入任意数据都会当作字符串处理 “23”
# # 打印一句话：小明同学年龄是23
# print(f"{name}同学的年龄是：{age}")
# # 输出小明同学明年的年龄
# print(f"{name}同学的年龄是{age+1}")



# 运算符-常规计算
# num1 = 10
# num2 = 20
# print(f"求和结果:{num1 + num2 }")
# print(f"求差结果:{num1 - num2}")
# print(f"求乘结果:{num1 * num2}")
# print(f"求除结果:{num1 / num2}")
# print(f"求商结果:{num1 // num2}")
# print(f"求余结果:{num1 % num2}")
#
# # 特殊场景
# # 求余数常常运用奇偶数判断
# print(3 % 2 == 0)
#
# # 幂运算：10的3次方
# print(10 ** 3)
# # 特殊的求和: 字符串和字符串求和 ‐‐ > 字符串拼接
# print("10" + "20")
# # 特殊的乘法：字符串和数字相乘 ‐‐ > 字符串重复多少次
# print("10" * 3)

#案例演示
# num1 = 10
# num2 = 20
# print(f"{num1 == num2}") # Flase
# print(f"{num1 != num2}") # True
# print(f"{num1 > num2}") # Flase
# print(f"{num1 < num2}") # True
# print(f"{num1 >= num2}") # Flase
# print(f"{num1 <= num2}") # True
#print(10 == "10")


 #定义两个数字
# num1 = 10
# num2 = 20
# # 赋值运算并查看结果
# num1 += num2 # 相当于 num1 = num1 + num2
# print("num1 =", num1) # 此时：num1 = 30
#
# num1 -= num2 # 相当于 num1 = num1 ‐ num2
# print("num1 =", num1) # 此时：num1 = 10
#
# num1 *= num2 # 相当于 num1 = num1 * num2
# print("num1 =", num1) # 此时：num1 = 200
#
# num1 /= num2 # 相当于 num1 = num1 / num2
# print("num1 ",num1) # 此时：num1 = 10.0
#
# num1 %= num2 # 相当于 num1 = num1 % num2
# print("num1 =", num1) # 此时：num1 = 10
# 结论：
# 先运算再赋值，注意前后变量次序
# python默认按照行顺序执行代码
# 应用场景：累计求和/差/积等场景使用




# 综合案例
# """
# 需求：
# 提示用户输入用户姓名，并保存到变量中
# 提示用户输入用户年龄，保存到变量中，并转换成整数
# 提示用户输入用户身高，保存到变量中，并转换成浮点数
# 在控制台输出用户姓名、年龄、身高对应变量的数据类型
# 按照以下格式输出用户信息：“姓名:xxx 年龄:xxx 身高:xxx”
# 在控制台输出该用户5年之后的年龄，格式：“张三 5 年之后的年龄是 25”
# 在控制台输出该用户现在是否成年，格式：“张三是否成年：True”
# """
# # 1.输入用户姓名、年龄、身高 2.直接输出用户信息
# name = input("请输入用户名：")
# print(type(name))
# age = int(input("请输入年龄："))
# print(type(age))
# height = float(input("请输入身高："))
# print(type(height))
# # 输出5年后的年龄
# print(f"姓名：{name} 年龄：{age} 身高：{height}")
# print(f"{name}5年后的年龄是：{age + 5}")
# # 输出是否成年：年龄和18岁进行比较 ‐‐‐> 结果是布尔值
# print(f"{name}是否成年： {age >= 18}")


